#include <iostream>

template <typename T>
void Swap(T &a, T &b)
{
    T temp = a;
    a = b;
    b = temp;
}

template <typename T>
T Add(T a, T b)
{
   return a + b;
}

/*
void DoTwoSwapTest()
{
    int m = 6;
    double x = 12.3;
    using namespace std;
    cout << "m, x = " << m <<", " << x << endl;
    Swap<double>(x, m);
    cout << "m, x = " << m <<", " << x << endl;
}*/


void DoAddTest()
{
    int m = 6;
    double x = 12.3;
    std::cout << Add<double>(x, m);
}

int main(int argc, char const *argv[])
{
    //DoTwoSwapTest();
    DoAddTest();
    return 0;
}
